Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Template-Engine</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Template-Engine"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Template-Engine rootpage-Template-Engine skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Template-Engine</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><div style="margin:1em auto; border:3px double #EEB422; padding:1em; background:var(--background-color-base, #FFFFFF); color:var(--color-base, #202122); border-radius:1em; font-size: 90%; overflow:hidden; max-width:90%;">
<table>
<tbody><tr>
<td class="noresize">
</td>
<td>Dieser Artikel wurde wegen inhaltlicher Mängel auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem <b>Themengebiet Informatik</b> auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen, und beteilige dich an der <b>Diskussion!</b>&nbsp;<small>(<span id="NeuerAbschnitt" class=""><a class="external text" href="https://de.wikipedia.org/w/index.php?title=Wikipedia:Redaktion_Informatik/Qualit%C3%A4tssicherung&amp;action=edit&amp;section=new&amp;preload=Vorlage:$1&amp;preloadparams%5B%5D=Bitte+Begr%C3%BCndung+hier+eintragen+und+signieren.&amp;preloadtitle=%5B%5BTemplate-Engine%5D%5D"><span title="Am Seitenende Abschnitt hinzufügen: Wikipedia:Redaktion Informatik/Qualitätssicherung">+</span></a></span>)</small>
</td></tr></tbody></table>
</div>
<p>Eine <b>Template-Engine</b> (von <a href="Englische_Sprache" title="Englische Sprache">englisch</a> für <i>Vorlage</i> bzw. <i>Schablone</i> und <i>Maschine</i>) ist eine <a href="Software" title="Software">Software</a>, die eine Vorlagen-Datei (englisch <i><a href="Vorlage_(Datenverarbeitung)" title="Vorlage (Datenverarbeitung)">Template</a></i>) verarbeitet und bestimmte Platzhalter darin ähnlich wie bei einem Formular durch jeweils aktuelle Inhalte ersetzt. Die Bezeichnungen <b>Template-Klasse</b> (deutsch umgangssprachlich „Vorlagenklasse“, aber sachlich korrekt: „Klassenvorlage“) und <b>Template-System</b> werden oft als <a href="Synonymie" class="mw-redirect" title="Synonymie">Synonym</a> für eine Template-Engine verwendet.
</p><p><i><a href="Template_(Programmierung)#Klassen-Templates" class="mw-redirect" title="Template (Programmierung)">Klassen-Templates</a></i> in der <a href="C%2B%2B" title="C++">C++</a>-Programmierung sind dagegen nicht mit Template-Engines vergleichbar, weil sie eine vom <a href="Datentyp" title="Datentyp">Datentyp</a> unabhängige Programmierung ermöglichen und ganze <a href="Klasse_(Objektorientierung)" title="Klasse (Objektorientierung)">Klassen</a> generieren können. In den Templates einer Template-Engine sollte kein Programm-Code enthalten sein. <a href="Kontrollstruktur" title="Kontrollstruktur">Kontrollstrukturen</a> (wie IF) sind allerdings oft in Templates möglich und verbreitet. Typische Dateitypen, die verarbeitet werden, sind <a href="Hypertext_Markup_Language" title="Hypertext Markup Language">HTML</a>, Text (<a href="American_Standard_Code_for_Information_Interchange" title="American Standard Code for Information Interchange">ASCII</a> oder <a href="Unicode" title="Unicode">Unicode</a>), <a href="Extensible_Markup_Language" title="Extensible Markup Language">XML</a> oder <a href="TeX" title="TeX">TeX</a>.
</p>

<div class="mw-heading mw-heading2"><h2 id="Konzept">Konzept</h2></div>
<p>Das Konzept ähnelt den <a href="Seriendruck" class="mw-redirect" title="Seriendruck">Seriendruckfeldern</a> bei einer <a href="Textverarbeitung" title="Textverarbeitung">Textverarbeitung</a>: In einem Dokument werden Seriendruckfelder (Platzhalter) eingefügt, etwa <i>Name – Straße – Ort</i>. Bei Template-Engines werden diese Seriendruckfelder <i>Template-Variablen</i> genannt. Wenn aus dem Dokument dann mehrere Serienbriefe erzeugt werden, steht anstatt der Template-Variablen <i>name</i> ein realer Name wie „<a href="Mustermann#Erika_Mustermann" title="Mustermann">Erika Mustermann</a>“ im fertigen Serienbrief.
</p><p>Das Dokument braucht nur einmal geschrieben und formatiert zu werden. Alle Änderungen wirken sich automatisch auf zukünftig erstellte Serienbriefe aus. Das ist bei Template-Engines genauso; weitere Parallelen zu Serienbrief-Vorlagen sind:
</p>
<ul><li>Die Daten kommen aus einer externen Quelle (<a href="Datenbank" title="Datenbank">Datenbank</a>, <a href="Tabellenkalkulation" title="Tabellenkalkulation">Tabellenkalkulation</a> etc.).</li>
<li>Um die Daten zu ändern, braucht das Template nicht verändert zu werden, und umgekehrt.</li>
<li>Das Template kann wiederverwendet werden.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Abgrenzung">Abgrenzung</h3></div>
<p>Template-Engines werden häufig von <a href="Programmierer" class="mw-redirect" title="Programmierer">Programmierern</a> eingesetzt, um im Kontext von <a href="Webanwendung" title="Webanwendung">Webanwendungen</a> Programm-Code (einer <a href="Programmiersprache" title="Programmiersprache">Programmiersprache</a>) vom Design zu trennen. Genauso wird von den Herstellern mancher Template-Engines angeführt, Templates und Engines sollen durch die Trennung der Programmierlogik vom Design das Skript von HTML-Code befreien und damit übersichtlicher machen.
</p><p>Demgegenüber steht der ursprüngliche Gedanke der Template-Engines: Sie sollen statischen Text und dynamische Inhalte möglichst effizient miteinander verknüpfen. Oft sind Template-Engines deshalb gerade in Programmiersprachen anzutreffen, deren Syntax eine solche Mischung nicht direkt unterstützt (z.&nbsp;B. Java: <a href="JavaServer_Pages" class="mw-redirect" title="JavaServer Pages">JSP</a>; VBScript u.&nbsp;a.: <a href="Active_Server_Pages" title="Active Server Pages">ASP</a>). Für eine echte Trennung der Darstellung von den Datenmodellen und den Logikkomponenten sind Template-Engines dagegen ungeeignet, und es sind zusätzliche Konzepte wie <a href="Model_View_Controller" title="Model View Controller">Model View Controller</a> notwendig.
</p>
<div class="mw-heading mw-heading3"><h3 id="Vorteile">Vorteile</h3></div>
<ul><li>Programm-Code (PHP, Python, Ruby, Perl, JavaScript) wird vom <a href="Auszeichnungssprache" title="Auszeichnungssprache">Markup</a> (HTML) getrennt.</li>
<li>Designer und Programmierer können gleichzeitig an einem Projekt arbeiten.</li>
<li><a href="WYSIWYG" title="WYSIWYG">WYSIWYG</a>-Editoren können verwendet werden.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Nachteile">Nachteile</h3></div>
<ul><li>Template-Engines erzeugen zur Laufzeit <a href="Overhead_(EDV)" title="Overhead (EDV)">Zusatzaufwand</a> (engl. "overhead").</li>
<li>Template-Engines müssen im Gebrauch erlernt werden. Neben der neuen Syntax sind auch oft grundlegende Kenntnisse der <a href="Objektorientierte_Programmierung" title="Objektorientierte Programmierung">objektorientierten Programmierung</a> Voraussetzung.</li>
<li>Template-Engines sind auf eine textuelle Ausgabe beschränkt.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Sprachabhängige_Template-Engines"><span id="Sprachabh.C3.A4ngige_Template-Engines"></span>Sprachabhängige Template-Engines</h2></div>
<p>Template-Engines sind sehr verbreitet. <a href="XSLT" class="mw-redirect" title="XSLT">XSLT</a> ist für alle Template-Engines eine Konkurrenz. Bei <a href="PHP" title="PHP">PHP</a> ist <i><a href="Smarty" title="Smarty">Smarty</a></i> weit verbreitet, hat aber die Eigenentwicklungen und andere Template-Engines nicht vom Markt verdrängt.
</p>
<div class="mw-heading mw-heading3"><h3 id="Template-Engines_für_PHP"><span id="Template-Engines_f.C3.BCr_PHP"></span>Template-Engines für PHP</h3></div>
<p>PHP selbst ist bereits so entworfen, dass man programmiersprachliche Konstrukte mit der textuellen Ausgabe über Platzhalter bzw. gekennzeichnete Bereiche mischen kann.
</p>
<div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="x">&lt;h1&gt;</span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$body_text</span><span class="p">;</span> <span class="cp">?&gt;</span><span class="x">&lt;/h1&gt;</span>

<span class="cp">&lt;?php</span> <span class="k">foreach</span><span class="p">(</span><span class="nv">$test_array</span> <span class="k">as</span> <span class="nv">$key</span> <span class="o">=&gt;</span> <span class="nv">$value</span><span class="p">)</span> <span class="o">:</span> <span class="cp">?&gt;</span>
<span class="x"> &lt;p&gt;Schlüssel: </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$key</span><span class="p">;</span> <span class="cp">?&gt;</span><span class="x"> - Wert: </span><span class="cp">&lt;?php</span> <span class="k">echo</span> <span class="nv">$value</span><span class="p">;</span> <span class="cp">?&gt;</span><span class="x">&lt;/p&gt;</span>
<span class="cp">&lt;?php</span> <span class="k">endforeach</span><span class="p">;</span> <span class="cp">?&gt;</span>
</pre></div>
<p>Der Vorteil liegt in der einfachen Verwendung. Es braucht keine zusätzliche Bibliothek installiert zu werden, auch ist diese Vorgehensweise für PHP-erfahrene Entwickler am leichtesten zu verstehen und folgt dem <a href="Principle_of_Least_Surprise" title="Principle of Least Surprise">Prinzip der geringsten Überraschung</a>. Die Verwendung einer gesonderten Template-Engine für PHP ist daher nicht erforderlich. Dennoch bietet die Verwendung einer Template-Engine für PHP, neben der besseren Übersicht, einige Vorzüge, beispielsweise können einfache, anpassbare Templates für Fehlermeldungen und ähnliche, wiederkehrende Strukturen erstellt werden. Einige populäre Template-Engines sind:
</p>
<ul><li><a href="Smarty" title="Smarty">Smarty</a><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Twig_(Template-Engine)" title="Twig (Template-Engine)">Twig</a><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup></li>
<li>Fluid (als Teil von <a href="TYPO3_Flow" class="mw-redirect" title="TYPO3 Flow">TYPO3 Flow</a>)<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup></li>
<li>vlibTemplate<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup></li>
<li>TinyButStrong<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup></li>
<li>Contemplate<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup></li>
<li>ETS (Easy Template System)<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup></li>
<li>t24 - PHP template parser<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup></li>
<li>HTML_Template_IT: HTML Integrated Templates, PEAR-PackageuBook Template<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup></li>
<li>uBook Template<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup></li>
<li>KTemplate<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup></li>
<li>Hyperkit PHP/XML Template-Engine<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup></li>
<li>Beilpuz<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup></li>
<li>Separate<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup></li>
<li>Blade (als Teil von <a href="Laravel" title="Laravel">Laravel</a>)<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading4"><h4 id="Beispiel">Beispiel</h4></div>
<p>Um eine Template-Engine zu verwenden, benötigt man die Template-Datei (in der die auszugebenden Daten enthalten sind) sowie das Script, welches das Template lädt und die Platzhalter mit Werten füllt.
</p><p>Das Template könnte so aussehen:
</p>
<div class="mw-highlight mw-highlight-lang-html mw-content-ltr" dir="ltr"><pre><span></span><span class="p">&lt;</span><span class="nt">body</span><span class="p">&gt;</span>
<span class="p">&lt;</span><span class="nt">p</span><span class="p">&gt;</span>Hallo, {name}!<span class="p">&lt;/</span><span class="nt">p</span><span class="p">&gt;</span>
<span class="p">&lt;/</span><span class="nt">body</span><span class="p">&gt;</span>
</pre></div>
<p>Und so könnte eine Wertzuweisung vom Script aus aussehen:
</p>
<div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$template</span><span class="o">-&gt;</span><span class="na">assign</span><span class="p">(</span><span class="s1">'name'</span><span class="p">,</span> <span class="s1">'Erika Mustermann'</span><span class="p">);</span>
</pre></div>
<p>Das Ergebnis:
</p>
<div class="mw-highlight mw-highlight-lang-html mw-content-ltr" dir="ltr"><pre><span></span><span class="p">&lt;</span><span class="nt">body</span><span class="p">&gt;</span>
<span class="p">&lt;</span><span class="nt">p</span><span class="p">&gt;</span>Hallo, Erika Mustermann!<span class="p">&lt;/</span><span class="nt">p</span><span class="p">&gt;</span>
<span class="p">&lt;/</span><span class="nt">body</span><span class="p">&gt;</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Template-Engines_für_Perl"><span id="Template-Engines_f.C3.BCr_Perl"></span>Template-Engines für Perl</h3></div>
<ul><li><a href="Template-Toolkit" title="Template-Toolkit">Template Toolkit</a><sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup></li>
<li>Contemplate<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> (auch <a href="Active_Server_Pages" title="Active Server Pages">ASP</a>)</li>
<li>Embperl<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup></li>
<li>Mason<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup></li>
<li>HTML Template<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup></li>
<li>Text Template<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup></li>
<li>HTML CTPP2<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Template-Engines_für_Python"><span id="Template-Engines_f.C3.BCr_Python"></span>Template-Engines für Python</h3></div>
<p>Es gibt viele Template-Engines unter <a href="Python_(Programmiersprache)" title="Python (Programmiersprache)">Python</a>. Beispiele sind <i><a href="Django_(Framework)" title="Django (Framework)">Django</a></i> oder <i>TurboGears</i>. Eine gute Übersicht (mit URI und Code-Beispielen) findet man im deutschen PythonWiki<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup>. Eine umfangreichere Liste, dafür weniger erklärt, findet man im englischen Wiki zu Python<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup>. Weitere sind Cheetah, SimpleTAL, pyTemple, pyratemp<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> und einige Python Template-Engines<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup>, Spytee, Nevow, Kid, Genshi, Jinja und HTMLTemplate.
</p>
<div class="mw-heading mw-heading4"><h4 id="Anwendungsbeispiel">Anwendungsbeispiel</h4></div>
<div class="mw-highlight mw-highlight-lang-python mw-content-ltr" dir="ltr"><pre><span></span><span class="c1"># -*- coding: utf-8 -*-</span>
<span class="c1"># Modul Template muss importiert werden</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">string</span><span class="w"> </span><span class="kn">import</span> <span class="n">Template</span>
<span class="c1"># Vorlage zum Lesen öffnen, Inhalt übergeben und Datei schließen</span>
<span class="n">vorlage</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'vorlage.txt'</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span>
<span class="n">vorl_inhalt</span> <span class="o">=</span> <span class="n">vorlage</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
<span class="n">vorlage</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
<span class="c1"># Den Inhalt als Template behandeln</span>
<span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">vorl_inhalt</span><span class="p">)</span>
<span class="c1"># Ersetzungen nach folgendem Schema festlegen</span>
<span class="n">ersetzungen</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'Name'</span> <span class="p">:</span> <span class="s1">'Hans Meier'</span><span class="p">,</span> <span class="s1">'Straße'</span> <span class="p">:</span> <span class="s1">'Bahnhofstraße 69'</span><span class="p">,</span> <span class="s1">'Ort'</span> <span class="p">:</span> <span class="s1">'12345 Foobarhausen'</span> <span class="p">}</span>
<span class="c1"># Ersetzungen vornehmen</span>
<span class="n">ersetzen</span> <span class="o">=</span> <span class="n">template</span><span class="o">.</span><span class="n">substitute</span><span class="p">(</span><span class="n">ersetzungen</span><span class="p">)</span>
<span class="c1"># Vorgang in Datei schreiben</span>
<span class="n">outfile</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'ausgabe.txt'</span><span class="p">,</span> <span class="s1">'w'</span><span class="p">)</span>
<span class="n">outfile</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">ersetzen</span><span class="p">)</span>
<span class="n">outfile</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
</pre></div>
<p>vorlage.txt:
</p>
<div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span>Name: ${Name}
Straße: ${Straße}
Ort: ${Ort}
</pre></div>
<p>ausgabe.txt:
</p>
<div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span>Name: Hans Meier
Straße: Bahnhofstr. 69
Ort: 12345 Foobarhausen
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Template-Engines_für_C++_und_C"><span id="Template-Engines_f.C3.BCr_C.2B.2B_und_C"></span>Template-Engines für C++ und C</h3></div>
<p>Für C++ und C gibt es verschiedene Template-Engines, wie
</p>
<ul><li>ClearSilver<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> Die Template-Engine von Orkut und Yahoo Groups (setzen einen eigenen Branch ein).</li>
<li>Grantlee Template System<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup></li>
<li>Google CTemplate<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Template-Engines_für_Java"><span id="Template-Engines_f.C3.BCr_Java"></span>Template-Engines für Java</h3></div>
<p>Einige Template-Engines für Java<sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup> sind java-basierte, quelloffene Template-Engines.
</p>
<ul><li><a rel="nofollow" class="external text" href="https://www.stringtemplate.org/">StringTemplate</a> Template-Engine von Terence Parr, Basis für sein <a rel="nofollow" class="external text" href="https://www.antlr.org/">ANTLR</a>, portiert auf C#, Objective-C und JavaScript</li>
<li><a href="FreeMarker" title="FreeMarker">FreeMarker</a> – Java-basierte Template-Engine<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup></li>
<li><a href="Apache_Velocity" title="Apache Velocity">Apache Velocity</a> – Java-basierte Template-Engine</li>
<li>Thymeleaf - Java-basierte Template-Engine<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Template-Engines_für_JavaScript"><span id="Template-Engines_f.C3.BCr_JavaScript"></span>Template-Engines für JavaScript</h3></div>
<p>Im Gegensatz zu den vorherigen Lösungen können Templates vom Web-Browser verarbeitet werden. Der Server liefert nur die Daten z.&nbsp;B. als JSON, oder XML String. Der Rest übernimmt JavaScript im Browser.
</p>
<ul><li><a href="AngularJS" title="AngularJS">AngularJS</a> Clientseitiges JavaScript-Webframework von Google</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Weitere_Informationen_zu_Template-Engines">Weitere Informationen zu Template-Engines</h3></div>
<p>Einige weitere Template-Engines sind Java-basiert:
</p>
<ul><li>Hamlets – Java-basierte Template-Engine</li>
<li>action4JAVA<sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup> - Java-basiertes Framework mit Template-Kern.</li>
<li>jade4j – Java-basierte, freie Implementierung der Jade Template-Engine<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup></li>
<li><a href="OpenArchitectureWare" title="OpenArchitectureWare">Xpand</a> – Java-basierte Template-Engine für die Codegenerierung<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup></li>
<li>ASP<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup></li>
<li>CTPP, Cross-platform Template-Engine für C++, C, PERL und PHP<sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup></li>
<li>GvTags Template-Engine für Groovy<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup></li>
<li>jQote2 - jQuery JavaScript Templating Engine<sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup></li>
<li>FilesFromCSV - .NET basiert - erzeugt pro CSV Datensatz ein Dokument<sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span class="cite-bracket">[</span>40<span class="cite-bracket">]</span></a></sup></li>
<li>Handlebars – <a href="JavaScript" title="JavaScript">JavaScript</a>-basierte semantische Template-Engine<sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">[</span>41<span class="cite-bracket">]</span></a></sup>, wird u.&nbsp;a. in <a href="Ghost_(Blogging-Plattform)" title="Ghost (Blogging-Plattform)">Ghost</a> verwendet</li>
<li>AWS Templates Parser – <a href="Ada_(Programmiersprache)" title="Ada (Programmiersprache)">Ada</a>-basierte Template-Engine<sup id="cite_ref-42" class="reference"><a href="#cite_note-42"><span class="cite-bracket">[</span>42<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>Karsten Wendland: <cite style="font-style:italic">Der Template-Zyklus. Web-Templates im Spannungsfeld von schöpferischem Gestalten und einschränkender Zumutung</cite>. Aachen 2006, ISBN 3-8322-5285-1.<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:Template-Engine&amp;rft.au=Karsten+Wendland&amp;rft.btitle=Der+Template-Zyklus.+Web-Templates+im+Spannungsfeld+von+sch%C3%B6pferischem+Gestalten+und+einschr%C3%A4nkender+Zumutung&amp;rft.date=2006&amp;rft.genre=book&amp;rft.isbn=3832252851&amp;rft.place=Aachen" style="display:none">&nbsp;</span></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.smarty.net/">Smarty extern</a></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r261891140">
/* start https://de.wikipedia.org/ */


.mw-parser-output .webarchiv-memento a{color:inherit}


/* end https://de.wikipedia.org/ */
</style><a rel="nofollow" class="external text" href="https://web.archive.org/web/20170709023155/http://twig.sensiolabs.org/">Twig</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <style data-mw-deduplicate="TemplateStyles:r250917974">
/* start https://de.wikipedia.org/ */


.mw-parser-output .dewiki-iconexternal>a{background-position:center right!important;background-repeat:no-repeat!important}body.skin-minerva .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/OOjs_UI_icon_external-link-ltr-progressive.svg")!important;background-size:10px!important;padding-right:13px!important}body.skin-timeless .mw-parser-output .dewiki-iconexternal>a,body.skin-monobook .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/MediaWiki_external_link_icon.svg")!important;padding-right:13px!important}body.skin-vector .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/Link.ernal-small-ltr-progressive.svg")!important;background-size:0.857em!important;padding-right:1em!important}


/* end https://de.wikipedia.org/ */
</style><span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Ftwig.sensiolabs.org%2F">Originals</a></span> vom 9. Juli 2017 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://twig.sensiolabs.org/">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://twig.sensiolabs.org/">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/twig.sensiolabs.org</span></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text">(<a rel="nofollow" class="external text" href="https://web.archive.org/web/20090131124210/http://forge.typo3.org/projects/show/package-fluid">extern</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fforge.typo3.org%2Fprojects%2Fshow%2Fpackage-fluid">Originals</a></span> vom 31. Januar 2009 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://forge.typo3.org/projects/show/package-fluid">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://forge.typo3.org/projects/show/package-fluid">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/forge.typo3.org</span>)</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20050121011753/http://vlib.clausvb.de/">vLIB</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fvlib.clausvb.de%2F">Originals</a></span> vom 21. Januar 2005 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://vlib.clausvb.de/">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://vlib.clausvb.de/">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/vlib.clausvb.de</span>: <a rel="nofollow" class="external text" href="https://web.archive.org/web/20060619180826/http://vlib.clausvb.de/vlibtemplate.php">vlibTemplate</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fvlib.clausvb.de%2Fvlibtemplate.php">Originals</a></span> vom 19. Juni 2006 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://vlib.clausvb.de/vlibtemplate.php">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://vlib.clausvb.de/vlibtemplate.php">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/vlib.clausvb.de</span>, <a rel="nofollow" class="external text" href="https://web.archive.org/web/20060717065639/http://vlib.clausvb.de/vlibdate.php">vlibDate</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fvlib.clausvb.de%2Fvlibdate.php">Originals</a></span> vom 17. Juli 2006 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://vlib.clausvb.de/vlibdate.php">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://vlib.clausvb.de/vlibdate.php">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/vlib.clausvb.de</span> und <a rel="nofollow" class="external text" href="https://web.archive.org/web/20060717065537/http://vlib.clausvb.de/vlibmimemail.php">vlibMimeMail</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fvlib.clausvb.de%2Fvlibmimemail.php">Originals</a></span> vom 17. Juli 2006 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://vlib.clausvb.de/vlibmimemail.php">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://vlib.clausvb.de/vlibmimemail.php">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/vlib.clausvb.de</span> (<a rel="nofollow" class="external text" href="https://web.archive.org/web/20050121011753/http://vlib.clausvb.de/">englisch</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fvlib.clausvb.de%2F">Originals</a></span> vom 21. Januar 2005 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://vlib.clausvb.de/">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://vlib.clausvb.de/">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/vlib.clausvb.de</span>, <a rel="nofollow" class="external text" href="http://lamp.clausvb.de/">deutsch</a>)</span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.tinybutstrong.com/">TinyButStrong</a></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20051122153736/http://www.typea.net/software/contemplate/assembled/home.html">Contemplate</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fwww.typea.net%2Fsoftware%2Fcontemplate%2Fassembled%2Fhome.html">Originals</a></span> vom 22. November 2005 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://www.typea.net/software/contemplate/assembled/home.html">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://www.typea.net/software/contemplate/assembled/home.html">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/www.typea.net</span></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><a href="#cite_ref-7">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://ets.sourceforge.net/">ETS (Easy Template System)</a></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.ister.org/code/t24/index.html">t24 - PHP template parser</a></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://pear.php.net/package/HTML_Template_IT/">HTML_Template_IT: HTML Integrated Templates, PEAR-Package</a></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><a href="#cite_ref-10">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.nongnu.org/ubook/doc/default/Template.html">uBook Template</a></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><a href="#cite_ref-11">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20080514035504/http://kuerbis.org/asap/article/12/">KTemplate</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fkuerbis.org%2Fasap%2Farticle%2F12%2F">Originals</a></span> vom 14. Mai 2008 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://kuerbis.org/asap/article/12/">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="https://kuerbis.org/asap/article/12/">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/kuerbis.org</span></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><a href="#cite_ref-12">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20120124010010/http://www.hyperkit-software.com/projects/phptemplates/index.html">Hyperkit PHP/XML Template-Engine</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fwww.hyperkit-software.com%2Fprojects%2Fphptemplates%2Findex.html">Originals</a></span> vom 24. Januar 2012 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://www.hyperkit-software.com/projects/phptemplates/index.html">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://www.hyperkit-software.com/projects/phptemplates/index.html">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/www.hyperkit-software.com</span></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><a href="#cite_ref-13">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://beilpuz.get-mike.de">Beilpuz</a></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><a href="#cite_ref-14">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://de.separate.esud.info/">Separate</a></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><a href="#cite_ref-15">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://laravel.com/docs/5.8/blade"><i>Blade Templates - Laravel - The PHP Framework For Web Artisans.</i></a><span class="Abrufdatum"> Abgerufen am 1.&nbsp;Juni 2019</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Fde.wikipedia.org%3ATemplate-Engine&amp;rft.title=Blade+Templates+-+Laravel+-+The+PHP+Framework+For+Web+Artisans&amp;rft.description=Blade+Templates+-+Laravel+-+The+PHP+Framework+For+Web+Artisans&amp;rft.identifier=https%3A%2F%2Flaravel.com%2Fdocs%2F5.8%2Fblade">&nbsp;</span></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><a href="#cite_ref-16">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.template-toolkit.org/">Template Toolkit</a></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><a href="#cite_ref-17">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20051122153736/http://www.typea.net/software/contemplate/assembled/home.html">Contemplate</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fwww.typea.net%2Fsoftware%2Fcontemplate%2Fassembled%2Fhome.html">Originals</a></span> vom 22. November 2005 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://www.typea.net/software/contemplate/assembled/home.html">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://www.typea.net/software/contemplate/assembled/home.html">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/www.typea.net</span></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><a href="#cite_ref-18">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://perl.apache.org/embperl/">Embperl</a></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><a href="#cite_ref-19">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.masonhq.com/">Mason</a></span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><a href="#cite_ref-20">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://html-template.sourceforge.net/">HTML Template</a></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><a href="#cite_ref-21">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://perl.plover.com/Template/">Text Template</a></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><a href="#cite_ref-22">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://search.cpan.org/dist/HTML-CTPP2/">HTML CTPP2</a></span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><a href="#cite_ref-23">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://pythonwiki.pocoo.org/Template_Engines">deutschen PythonWiki</a><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotdeadurl.invalid/http://pythonwiki.pocoo.org/Template_Engines">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://pythonwiki.pocoo.org/Template_Engines">@2</a></span><span style="display:none">Vorlage:Toter Link/pythonwiki.pocoo.org</span> <small>(Seite nicht mehr abrufbar, festgestellt im Mai 2019. <a rel="nofollow" class="external text" href="http://timetravel.mementoweb.org/list/2010/http://pythonwiki.pocoo.org/Template_Engines">Suche in Webarchiven</a>)</small>&nbsp;<small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis.</small></span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><a href="#cite_ref-24">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://wiki.python.org/moin/WebProgramming">englischen Wiki zu Python</a></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><a href="#cite_ref-25">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.simple-is-better.org/template/pyratemp.html">pyratemp</a></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><a href="#cite_ref-26">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.simple-is-better.org/template/">Vergleich und Benchmarks: Python Template-Engines</a></span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><a href="#cite_ref-27">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.clearsilver.net/">ClearSilver</a></span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><a href="#cite_ref-28">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20201130004953/http://www.grantlee.org/">Grantlee Template System</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fwww.grantlee.org%2F">Originals</a></span> vom 30. November 2020 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://www.grantlee.org/">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://www.grantlee.org/">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/www.grantlee.org</span></span>
</li>
<li id="cite_note-29"><span class="mw-cite-backlink"><a href="#cite_ref-29">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://code.google.com/archive/p/google-ctemplate/">Projektübersicht zu Google CTemplate</a> bei <a href="Google_Code" class="mw-redirect" title="Google Code">Google Code</a></span>
</li>
<li id="cite_note-30"><span class="mw-cite-backlink"><a href="#cite_ref-30">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://java-source.net/open-source/template-engines"><i>Java-Source.net - Open Source Template Engines in Java</i></a></span>
</li>
<li id="cite_note-31"><span class="mw-cite-backlink"><a href="#cite_ref-31">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://freemarker.org/">Freemarker website</a></span>
</li>
<li id="cite_note-32"><span class="mw-cite-backlink"><a href="#cite_ref-32">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.thymeleaf.org/">Thymeleaf</a></span>
</li>
<li id="cite_note-33"><span class="mw-cite-backlink"><a href="#cite_ref-33">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20130228072112/http://www.action4java.org/">action4JAVA</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fwww.action4java.org%2F">Originals</a></span> vom 28. Februar 2013 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://www.action4java.org/">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://www.action4java.org/">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/www.action4java.org</span></span>
</li>
<li id="cite_note-34"><span class="mw-cite-backlink"><a href="#cite_ref-34">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://github.com/neuland/jade4j">jade4j Bezugsquelle</a></span>
</li>
<li id="cite_note-35"><span class="mw-cite-backlink"><a href="#cite_ref-35">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.openarchitectureware.org">oAW website</a></span>
</li>
<li id="cite_note-36"><span class="mw-cite-backlink"><a href="#cite_ref-36">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20051122153736/http://www.typea.net/software/contemplate/assembled/home.html">Contemplate (englisch)</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fwww.typea.net%2Fsoftware%2Fcontemplate%2Fassembled%2Fhome.html">Originals</a></span> vom 22. November 2005 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://www.typea.net/software/contemplate/assembled/home.html">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://www.typea.net/software/contemplate/assembled/home.html">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/www.typea.net</span></span>
</li>
<li id="cite_note-37"><span class="mw-cite-backlink"><a href="#cite_ref-37">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://ctpp.havoc.ru/en/">CTPP</a></span>
</li>
<li id="cite_note-38"><span class="mw-cite-backlink"><a href="#cite_ref-38">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.gvtags.org">GvTags Template-Engine für Groovy</a></span>
</li>
<li id="cite_note-39"><span class="mw-cite-backlink"><a href="#cite_ref-39">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20100409055942/http://aefxx.com/jquery-plugins/jqote2/">jQote2</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Faefxx.com%2Fjquery-plugins%2Fjqote2%2F">Originals</a></span> vom 9. April 2010 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://aefxx.com/jquery-plugins/jqote2/">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://aefxx.com/jquery-plugins/jqote2/">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/aefxx.com</span></span>
</li>
<li id="cite_note-40"><span class="mw-cite-backlink"><a href="#cite_ref-40">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.somebytes.net/54-0-FilesFromCSV.html">FilesFromCSV</a></span>
</li>
<li id="cite_note-41"><span class="mw-cite-backlink"><a href="#cite_ref-41">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://handlebarsjs.com/">Handlebars.js: Minimal Templating on Steroids</a></span>
</li>
<li id="cite_note-42"><span class="mw-cite-backlink"><a href="#cite_ref-42">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://docs.adacore.com/aws-docs/templates_parser/">AWS Templates Parser: A template engine</a></span>
</li>
</ol></div></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-10-06" href="https://de.wikipedia.org/wiki/?title=Template-Engine&amp;oldid=260369805">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>